//
// Created by root on 5/30/17.
//

#ifndef FUNNY_SCHEME_COMPLEX_H
#define FUNNY_SCHEME_COMPLEX_H

#include "../ds/datastructure.h"

Cell* make_complex(Scheme *sc, Cell* a, Cell* b);

Cell* complex_add(Scheme *sc, Cell* x, Cell* y);
Cell* complex_mul(Scheme *sc, Cell* x, Cell* y);
Cell* complex_sub(Scheme *sc, Cell* x, Cell* y);
Cell* complex_div(Scheme *sc, Cell* x, Cell* y);

DEFINE_OPERATOR( make_complex  );
DEFINE_OPERATOR( complex_real  );
DEFINE_OPERATOR( complex_imag  );
INIT_OPERATORS( complex );

#endif //FUNNY_SCHEME_COMPLEX_H
